chore: upgrade gravity navigation to v4#4035
Conversation
20b9a75 to
6dd397e
Compare
d872849 to
0506933
Compare
There was a problem hiding this comment.
Pull request overview
This PR upgrades the app’s Gravity UI navigation stack to @gravity-ui/navigation@4.0.18 and adapts the AsideHeader/sidebar, settings panel, drawer integration, and Playwright E2E coverage to the new component APIs and DOM/QA hooks.
Changes:
- Upgraded
@gravity-ui/navigationto v4 and migrated AsideHeader/footer/menu item APIs (MenuItem→AsideHeaderItem,link→href, popup and panel prop renames). - Reworked drawer implementation/layout to use the updated Gravity UI
DrawerAPI and refined drawer container sizing to prevent viewport overlap. - Updated Playwright sidebar models/selectors and added new drawer behavior + visual snapshot coverage.
Reviewed changes
Copilot reviewed 19 out of 27 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/utils/toggleExperiment.ts | Uses the new sidebar drawer-close path when cleaning up experiment toggling. |
| tests/suites/tenant/queryHistory/models/QueriesHistoryTable.ts | Adds helper to assert active row state for drawer behavior tests. |
| tests/suites/tenant/queryEditor/models/SettingsDialog.ts | Stabilizes select/switch interactions with updated Gravity UI controls. |
| tests/suites/sidebar/Sidebar.ts | Migrates sidebar E2E model to new QA hooks/DOM structure and updated drawer mechanics. |
| tests/suites/sidebar/sidebar.test.ts | Updates navigation setup for backend param and adds SPA vs modified-click navigation tests. |
| tests/suites/sidebar/drawerSnapshots.test.ts | Adds visual snapshot coverage for drawers/popup UI under the new navigation stack. |
| tests/suites/sidebar/drawerBehavior.test.ts | Adds behavior/regression tests for outside click, resize, and selection cleanup across drawers. |
| src/containers/UserSettings/UserSettings.tsx | Wraps Settings in a full-height container and adjusts item rendering for new Settings API usage. |
| src/containers/UserSettings/Setting.tsx | Adds aria-label wiring for switch/radio controls to preserve accessible names. |
| src/containers/AsideNavigation/Navigation.tsx | Updates tenant nav item typing and switches from link to href semantics. |
| src/containers/AsideNavigation/InformationPopup/InformationPopup.tsx | Adds QA attributes to support new E2E selectors. |
| src/containers/AsideNavigation/hooks/useHotkeysPanel.tsx | Migrates HotkeysPanel prop names (visible → open) and adds drawer QA. |
| src/containers/AsideNavigation/AsideNavigation.tsx | Migrates AsideHeader/FooterItem APIs, adds QA hooks, and updates panel item props. |
| src/containers/AsideNavigation/AsideNavigation.scss | Rehomes AsideHeader content layout styles under the new navigation block. |
| src/containers/App/App.scss | Removes old .gn-aside-header__content styles that no longer apply after upgrade. |
| src/components/Drawer/DrawerContext.tsx | Changes container width calculation to use visible viewport width for better drawer sizing. |
| src/components/Drawer/Drawer.tsx | Migrates from @gravity-ui/navigation drawer primitives to @gravity-ui/uikit Drawer and updates outside-click/resize handling. |
| src/components/Drawer/Drawer.scss | Updates layout/container styles for new Drawer mounting strategy. |
| package.json | Pins @gravity-ui/navigation to 4.0.18. |
| package-lock.json | Lockfile updates for the navigation v4 dependency graph. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 643e094af0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Closes #4024
CI Results
Test Status:⚠️ FLAKY
📊 Full Report
Test Changes Summary ✨13 ⏭️6 🗑️1
✨ New Tests (13)
⏭️ Skipped Tests (6)
🗑️ Deleted Tests (1)
Bundle Size: 🔽
Current: 64.01 MB | Main: 64.17 MB
Diff: 0.17 MB (-0.26%)
✅ Bundle size decreased.
ℹ️ CI Information